export PS1=$'\\n\\\n[\\[\\e[32m\\]\\u\\[\\e[0m\\]\\\n@\\\n\\[\\e[35m\\]\\H \\\n\\[\\e[36;1m\\]\\w\\\n\\[\\e[0m\\]] \\\n$(RETVAL="$?"; echo -en "\\e[33m{$(date +%H:%M:%S)} ";\n  if [ "$RETVAL" -eq 0 ];then\n echo -en "\\[\\e[32m\\]($RETVAL)"\n else\n echo -en "\\[\\e[31;1m\\a\\]($RETVAL)"\n fi)\\n\\\n\\[\\e[0;1;34m\\]\\$ \\[\\e[0m\\]'

log_file=/etc/logs/history.log
log_dir=/etc/logs
if [ ! -f $log_file ]; then
mkdir -p $log_dir
touch $log_file
chmod 777 $log_file
fi
 if ! test -z  "$BASH_EXECUTION_STRING" ; then
         echo "===== $(date "+%F  %T") $USER nologin cmd:   $BASH_EXECUTION_STRING" >>$log_file
 elif  shopt -q login_shell ; then
         echo "=== $(date "+%F  %T") new login ${SSH_TTY:5} $USER from ${SSH_CLIENT%% *}">>$log_file
 else
         echo "=== $(date "+%F  %T") su ${SSH_TTY:5} $USER from ${SSH_CLIENT%% *}">>$log_file
 fi
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(pwd) #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $log_file'





#基础命令优化
alias azy='yum install -y vim curl telnet wget net-tools bash-completion git rsync lrzsz mtr tmux lsof unzip tcpdump curl  iptables-services ntpdate traceroute bind-utils sysstat tzdata'
alias azd='dnf install -y vim curl telnet wget net-tools bash-completion git rsync lrzsz mtr tmux lsof unzip tcpdump curl  iptables-services ntpdate traceroute bind-utils sysstat tzdata'
alias aza='apt-get update && apt-get install -y  unzip git wget bash-completion lvm2 net-tools traceroute dnsutils rsync vim tmux sysstat  lsof telnet git lrzsz  tcpdump  curl  ntpdate tzdata'

alias ll='ls -althrSF --color=auto'       # 详细列表（含隐藏文件）
alias l='ls -CF'                       # 简洁列表（列式显示）
alias ls='ls --color=auto'             # 带颜色区分文件类型
alias rm='rm -i'                       # 删除前确认（防误删）
alias cp='cp -i'                       # 覆盖前确认
alias mv='mv -i'                       # 移动前确认
alias mkdir='mkdir -pv'                # 自动创建父目录+显示过程
alias vi=vim
alias df='df -lTh'
alias pz='iostat && free -h'
# Docker 常用命令
alias dps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"'
alias dimg='docker images --format "{{.Repository}}:{{.Tag}}"'
alias de='de(){ docker exec -it $1 bash; };de'
alias dp='docker ps -a'
#高效系统管理
alias df='df -h'                       # 人类可读的磁盘空间
alias du='du -h -c'                    # 计算目录大小（带总和）
alias free='free -m'                   # 内存用量（MB单位）
alias psg='ps aux | grep -i'           # 快速进程搜索（例：psg nginx）
alias topcpu='top -o %CPU'             # 按CPU占用排序
alias topmem='top -o %MEM'             # 按内存占用排序
#文件操作增强
alias grep='grep --color=auto'         # 高亮搜索结果
alias egrep='egrep --color=auto'
alias ffind='find . -type f -name'     # 快速文件搜索（例：ffind "*.log"）
alias dfind='find . -type d -name'     # 快速目录搜索
alias count='find . -type f | wc -l'   # 统计当前目录文件数
alias tree='tree -C'                   # 彩色目录树（需安装tree）
#安全相关建议
alias rm='rm -I'                       # 批量删除时只确认一次（比-i更友好）
alias chmod='chmod --preserve-root'    # 防误操作根目录
alias chown='chown --preserve-root'
alias mv='mv -i --no-clobber'          # 禁止静默覆盖文件
#网络与调试
alias ping='ping -c 5'                 # 默认ping 5次
alias wget='wget -c'                   # 支持断点续传
alias curlh='curl -sSL -I'             # 仅显示HTTP头信息
alias ports='netstat -tulanp'          # 查看监听端口和进程
alias mip='curl ipinfo.io/ip'         # 获取公网IP
alias mip1='wget -4qO- http://whatismyip.akamai.com/'
alias mip2='curl cip.cc'
alias mip3='curl ifconfig.me'
alias mip4='curl http://toyaml.com:9999/whoami'
alias mip5='curl https://one.one.one.one/cdn-cgi/trace'
# Git 快捷操作
alias gs='git status'
alias gp='git pull'
alias gpush='git push origin $(git branch --show-current)'


# 解压缩通用命令
alias untar='tar -zxvf'                # 解压.tar.gz
alias unzipall='unzip "*.zip"'         # 解压当前目录所有zip